/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package entidades;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

/**
 *
 * @author ARELLANO RODRIGUEZ
 */
@Entity
@Table(name = "hoja_comunicacion")
@NamedQueries({
    @NamedQuery(name = "HojaComunicacion.findAll", query = "SELECT h FROM HojaComunicacion h"),
    @NamedQuery(name = "HojaComunicacion.findByCorrelativoHoja", query = "SELECT h FROM HojaComunicacion h WHERE h.correlativoHoja = :correlativoHoja"),
    @NamedQuery(name = "HojaComunicacion.findByDescripcionHoja", query = "SELECT h FROM HojaComunicacion h WHERE h.descripcionHoja = :descripcionHoja"),
    @NamedQuery(name = "HojaComunicacion.findByCodigoHorario", query = "SELECT h FROM HojaComunicacion h WHERE h.codigoHorario = :codigoHorario"),
    @NamedQuery(name = "HojaComunicacion.findByCodigoResponsable", query = "SELECT h FROM HojaComunicacion h WHERE h.codigoResponsable = :codigoResponsable"),
    @NamedQuery(name = "HojaComunicacion.findByCorrelativoRequisito", query = "SELECT h FROM HojaComunicacion h WHERE h.correlativoRequisito = :correlativoRequisito"),
    @NamedQuery(name = "HojaComunicacion.findByCodigoLaboratorio", query = "SELECT h FROM HojaComunicacion h WHERE h.codigoLaboratorio = :codigoLaboratorio"),
    @NamedQuery(name = "HojaComunicacion.findByFechaRegistro", query = "SELECT h FROM HojaComunicacion h WHERE h.fechaRegistro = :fechaRegistro"),
    @NamedQuery(name = "HojaComunicacion.findByEstadoHoja", query = "SELECT h FROM HojaComunicacion h WHERE h.estadoHoja = :estadoHoja")})
public class HojaComunicacion implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @NotNull
    @Column(name = "correlativo_hoja")
    private Integer correlativoHoja;
    @Size(max = 50)
    @Column(name = "descripcion_hoja")
    private String descripcionHoja;
    @Column(name = "codigo_horario")
    private Integer codigoHorario;
    @Size(max = 10)
    @Column(name = "codigo_responsable")
    private String codigoResponsable;
    @Column(name = "correlativo_requisito")
    private Integer correlativoRequisito;
    @Column(name = "codigo_laboratorio")
    private Integer codigoLaboratorio;
    @Column(name = "fecha_registro")
    @Temporal(TemporalType.TIMESTAMP)
    private Date fechaRegistro;
    @Column(name = "estado_hoja")
    private Integer estadoHoja;

    public HojaComunicacion() {
    }

    public HojaComunicacion(Integer correlativoHoja) {
        this.correlativoHoja = correlativoHoja;
    }

    public Integer getCorrelativoHoja() {
        return correlativoHoja;
    }

    public void setCorrelativoHoja(Integer correlativoHoja) {
        this.correlativoHoja = correlativoHoja;
    }

    public String getDescripcionHoja() {
        return descripcionHoja;
    }

    public void setDescripcionHoja(String descripcionHoja) {
        this.descripcionHoja = descripcionHoja;
    }

    public Integer getCodigoHorario() {
        return codigoHorario;
    }

    public void setCodigoHorario(Integer codigoHorario) {
        this.codigoHorario = codigoHorario;
    }

    public String getCodigoResponsable() {
        return codigoResponsable;
    }

    public void setCodigoResponsable(String codigoResponsable) {
        this.codigoResponsable = codigoResponsable;
    }

    public Integer getCorrelativoRequisito() {
        return correlativoRequisito;
    }

    public void setCorrelativoRequisito(Integer correlativoRequisito) {
        this.correlativoRequisito = correlativoRequisito;
    }

    public Integer getCodigoLaboratorio() {
        return codigoLaboratorio;
    }

    public void setCodigoLaboratorio(Integer codigoLaboratorio) {
        this.codigoLaboratorio = codigoLaboratorio;
    }

    public Date getFechaRegistro() {
        return fechaRegistro;
    }

    public void setFechaRegistro(Date fechaRegistro) {
        this.fechaRegistro = fechaRegistro;
    }

    public Integer getEstadoHoja() {
        return estadoHoja;
    }

    public void setEstadoHoja(Integer estadoHoja) {
        this.estadoHoja = estadoHoja;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (correlativoHoja != null ? correlativoHoja.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof HojaComunicacion)) {
            return false;
        }
        HojaComunicacion other = (HojaComunicacion) object;
        if ((this.correlativoHoja == null && other.correlativoHoja != null) || (this.correlativoHoja != null && !this.correlativoHoja.equals(other.correlativoHoja))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "entidades.HojaComunicacion[ correlativoHoja=" + correlativoHoja + " ]";
    }
    
}
